1. Field of the Invention
The present invention relates to testing of an electronic control unit (ECU) which is used in an automobile, and more particularly relates to software-based testing of multiple ECUs.
2. Description of Related Art
The automobile, in its early stage, that is, in the early twentieth century, was composed of: an engine as a power source; and mechanical parts including a brake, an accelerator, a steering wheel, a transmission and a suspension. Almost no electrical mechanisms were used except for an ignition plug for the engine, and for headlights.
However, around the 1970s, there arose the need to control the engine efficiently to deal with air pollution, oil crises, and the like. Thus, an ECU started to be used for engine control. The ECU generally includes: an input interface for executing, for example, A/D conversion of an input signal from a sensor; a logic operation part (microcomputer) for processing a digital input signal according to a predetermined logic; and an output interface for converting the result of the processing into an actuator operating signal.
Here, examples of the sensor for inputting signals to the ECU include a temperature sensor for measuring engine temperature, a pressure sensor for estimating the pressure of suction by the engine, a throttle position sensor for measuring the stepping amount of an accelerator pedal, a steering angle sensor, a vehicle altitude sensor, a rotation speed sensor, a knock sensor, an acceleration sensor, a flow rate sensor, an oxygen sensor, and a lean air fuel ratio sensor.
Examples of actuators driven by an output signal coming from the ECU include electromagnetic solenoids, and motors. A solenoid is used, for example, for the engine injector, shift control of the transmission, brake valve control, and the door lock.
Motors are used mainly as: a servo mechanism for an engine starter motor, fuel control of the engine, a brake hydraulic pump, steering angle control, steering wheels, wipers, power windows, seat belts, and air bags.
In the 1970s, the ECU was mainly used for the efficient control of the engine. However, in the 1980s, ECUs started to be used not only for the above purpose but also for running a car more safely and comfortably. Thus, there are now many cases where over 50 ECUs are installed in one car. When a number of ECUs are installed in the car, the multi-ECU case, as described above, it becomes very difficult to test at the development stage whether multiple ECUs are properly operating in cooperation with each other.
As a technique that has been previously used for such a test, there is HILS (Hardware In the Loop Simulation). Particularly, an environment for testing all the ECUs in the car is called a full-vehicle HILS. In the full-vehicle HILS, a test is conducted in a laboratory according to a predetermined scenario by connecting an actual ECU to a dedicated hardware device for emulating an engine, a transmission mechanism and the like. The output from the ECU is inputted to a monitoring computer and further displayed on a display. Thus, an operator conducting the test checks if there is any abnormal operation while looking at the display.
However, in the HILS, the dedicated hardware device is used and physical wiring connection between the device and the actual ECU is required. Thus, preparation for this takes a lot of work. Moreover, when a test is conducted by replacing the ECU with another one, the device and the ECU have to be physically reconnected to each other. Thus, much effort is required. Furthermore, since the test uses the actual ECU, it takes actual time to conduct the test. Therefore, it takes an enormous amount of time to test many scenarios. Moreover, the hardware device for emulation of the HILS is generally very expensive.
Therefore, there has recently been a technique that uses software configuration without using the expensive hardware device for emulation. This technique, called SILS (Software In the Loop Simulation), is for configuring all components to be installed in the ECU, such as a microcomputer, an I/O circuit and control scenarios, by use of a software simulator. According to the SILS, a test can be executed without the hardware of the ECU.
However, the known SILS only performs software verification on a single function and does not make it possible to achieve SILS for a multi-ECU.
Japanese Unexamined Patent Application Publication No. Hei 6-161987 discloses simulation of hardware having desired functions by using a matrix switch for the purpose of realizing artificial ECU hardware and thus enabling real machine evaluation by software.
Japanese Patent Application Publication No. Hei 11-14507 discloses a vehicle simulation device including an engine control simulator (ECU) and a vehicle control simulator, which is intended to enable desk verification of logic of an entire vehicle. The ECU calculates control parameters of an engine model and transmits the result of the calculation to the vehicle control simulator. The vehicle control simulator uses the control parameters sent from the ECU to calculate a state quantity of each part of a vehicle model, and sends the result of the calculation back to the ECU. The vehicle model includes a driver model, an inlet system model, a fuel system model, a combustion system model, an engine temperature estimation model, a drive system model, a catalyst model, an Air/Fuel Ratio (A/F) sensor model and a rear O2 sensor model. The driver model has vehicle speed pattern input means for inputting a target vehicle speed change pattern.
The above conventional techniques disclose a technique of simulating the ECU by use of software. However, it is very difficult or practically impossible to apply such conventional techniques to software simulation of the multi-ECU case. This is because the ECUs individually have microprocessors and have different clock rates. Therefore, a new technique is required, which has not been taught by the conventional techniques, to simulate an entire test environment in which such individual ECUs are connected by use of software.